<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Admin\Role;
use App\Admin\Auth;

class RoleController extends Controller
{
    //展示权限列表
    //请求的时候有两次get请求，一次是请求网页资源，第二次请求是page=*&limit=*请求的是列表的数据
    public function lst(Request $request)
    {
        if ($request->isMethod('get')) {
            if ($request->Input('page')) {

                $data = Role::get()->toArray();
                $count = Role::count();
                $msg = "";
                $code = 0;

                // dd(compact('data','count','msg','code'));
                return (compact('data', 'count', 'msg', 'code'));
            } else return view('admin.role.lst');
        } else {

        }
    }

    public function add()
    {

    }

    public function del()
    {

    }

    //在开发MVC模式的项目时候，建议数据的处理和业务逻辑放到M层，
    // 当前功能需要对数据处理才能入表，
    // 所以在控制器中只写流程，具体的处理交给模型处理
    public function edit(Request $request, $id)
    {
        if ($request->isMethod('get')) {
            //查询等级权限
            $top_auth = Auth::where('pid', '0')->get();
            //查询二级权限
            $cat_auth = Auth::where('pid', '!=', '0')->get();
            $role_name = Role::where('id', $id)->value('role_name');
            $ids = Role::where('id', $id)->value('auth_ids');
            return view('admin.role.edit', compact('top_auth', 'cat_auth', 'role_name', 'id', 'ids'));
        } else {

            //$id就是要修改权限的表的主键
            $data = $request->Input('edit_data');
            foreach ($data as $val) {
                //$arr[]=e
                $arr[] = $val;
            }
            // dd($arr);
            $role = new Role();
            dd($role->assignAuth($arr, $id));

        }
    }


}
